package fr.afcepf.atod19.patisserie.business;

import java.util.ArrayList;
import java.util.List;

import fr.afcepf.atod19.patisserie.data.DataPatisserieImpl;
import fr.afcepf.atod19.patisserie.data.IDataPatisserie;
import fr.afcepf.atod19.patisserie.entity.Patisserie;

public class BusinessPatisserieImpl implements IBusinessPatisserie {

    IDataPatisserie dataPatisserie;

    public BusinessPatisserieImpl() {
        dataPatisserie = new DataPatisserieImpl();
    }

    @Override
    public Integer add(Patisserie paramPat) {
        System.out.println(paramPat.getNom());
        List<Patisserie> liste = dataPatisserie.rechercher(paramPat.getNom());
        boolean trouve = false;
        if (liste != null) {
            for (Patisserie patisserie : liste) {
                if (patisserie.getNom().equals(paramPat.getNom())
                        && patisserie.getDescription().equals(
                                paramPat.getDescription())
                        && patisserie.getPrix() == (paramPat.getPrix())
                        && patisserie.getCalorie() == (paramPat.getCalorie())) {
                    trouve = true;
                    break;
                }
            }
        }
        Integer retour = null;
        if (!trouve) {
            retour = dataPatisserie.ajouter(paramPat);
        }
        return retour;
    }

    @Override
    public boolean remove(Patisserie paramPat) {
        Boolean retour = dataPatisserie.manger(paramPat);
        return retour;
    }

    @Override
    public List<Patisserie> find(String paramName) {
        List<Patisserie> retour = dataPatisserie.rechercher(paramName);
        if (retour == null) {
            retour = new ArrayList<>();
        }
        return retour;
    }

    public IDataPatisserie getDataPatisserie() {
        return dataPatisserie;
    }

    public void setDataPatisserie(IDataPatisserie paramDataPatisserie) {
        dataPatisserie = paramDataPatisserie;
    }

}
